#ifndef RECTANGLE_H
#define RECTANGLE_H
//includes
#include "Vector.h"

namespace forme
{
	class Rectangle
	{
	public :
		// ctor
		Rectangle(float x, float y, float width, float height);
		Rectangle(Vector2D* topLeft, Vector2D* btmRight);
	
		// hit test
		bool CollidesWith(const Rectangle* rect) const;
		bool Contains(float x, float y) const;
		bool Contains(const Vector2D* point) const;

		// getters
		float GetX() const;
		float GetY() const;
		float GetWidth() const;
		float GetHeight() const;

		// setters
		void SetPosition(Vector2D* vect);
		void SetPosition(float x, float y);

		// transform
		void MoveBy(Vector2D* vect);
		void MoveBy(float x, float y);

	private:
		Vector2D m_topLeft;
		Vector2D m_size;
	};
}

#endif